import java.util.*;
import static java.lang.System.*;

class Top {
	int i = 1337;
	static long l = 188L;
	Mid lower;
	char c;

	Top() {
		out.println("Top(): i=" + i + " l=" + l + " lower=" + lower);
		lower = new Mid();
	}

	public static void main(String[] args) {
		java.lang.System.out.println("I am calss Top and I ccant' type for shit");
	}
}

class Mid {
	static int j = 100;

	Mid() {
		out.println("Mid(): j=" + j);
		j++;
	}

	public static void main(String[] args) {
		out.println("You're not supposed to see this.");
		err.println("Consider issuing this command: rm -f Mid.class");
		for (int k = 0; k < 2; k++)
			for (long i = 0; i < 1<<30; i++);
		err.println("nah, i'm kidding. don't do that");
	}
}

public class Initializations {
	public static void main(String[] args) {
		out.println("hi");
		out.println("args.length=" + args.length);
		out.println("args: " + Arrays.toString(args));
		out.println("echoing arguments");

		for (String a : args)
			out.print(a + " ");
		out.println();

		out.println("initializing Mid and Top classes");
		Mid m = new Mid();
		Top t = new Top();
		out.println("m.j=" + m.j);
		out.println();

		Random r = new Random();
		Integer[] kewl_int_array = new Integer[r.nextInt(99) + 1];
		out.println("kewl_int_array: " + Arrays.toString(kewl_int_array));
		for (int i = 0; i < kewl_int_array.length; i++)
			kewl_int_array[i] = r.nextInt(1000);
		out.println("kewl_int_array: " + Arrays.toString(kewl_int_array));
		out.println("(Top) t.c = [" + t.c + "]");
	}
}
